/*
 * @(#)TextMethodsDeutschRIP.java	Robert Denda&Didier Gutacker
 */

/** 
 *
 * @author 	Robert Denda&Didier Gutacker
 * @version     1.1, 06.09.97
 * @see TextMethodsDeutsch
 * @see TextMethodsDeutschDVMRP
 * @see TextMethodsEnglish
 */

public class TextMethodsDeutschRIP extends TextMethodsDeutsch {
  TextMethodsDeutschRIP() {
    super();
    buttonPanel_disableNodeButtonText = new String("Knoten abschalten");
    buttonPanel_enableNodeButtonText = new String("Knoten einschalten");
    appletText = new String( "Simulation des RIP-Routing-Algorithmus" );
    frameTitle = new String( "Simulation des RIP-Routing-Algorithmus" );
    multicastPacketText = new String( "Datenpaket" );
    menuBar_editButton_updateSenderText1 = new String("PeriodicUpdate ein");
    menuBar_editButton_updateSenderText2 = new String("PeriodicUpdate aus");
    infoText = new String( "Simulation des RIP-Routing Algorithmen\n\n" +
			   "Diese Simulation visualisiert und simuliert das Internet\n" + 
			   "Routing Protocol ( RIP ) wie es im Internet eingesetzt wird.\n\n" +
                           "(c) 1997 Didier Gutacker, Universitaet Mannheim, Deutschland\n" );

    helpText1 = new String( "Hilfe fuer RIP-Routing-Simulation" );

    helpText2 = new String( "Mit dieser Simulation wird einerseits der Aufbau der\n"
			   +"Leitwegetabellen und andererseits der Sendevorgang von\n"
			   +"Datenpaketen in Netzwerk nach dem RIP-Routing-\n"
                           +"Algorithmus simuliert\n\n"
                           +"Es folgt die Beschreibung der Bedienungsoberflaeche : \n\n"
			   +"Menue Programm : Neu : Netzwerk aufraeumen\n"
			   +"                 Ende : Schliessen des Fensters\n\n"
			   +"Menue Optionen : Simulationsgeschwindigkeit einstellen\n"
			   +"                 Menuesprache waehlen\n"
                           +"                 Periodisches Senden von RoutingTableUpdates\n"
                           +"                 ein- bzw. ausschalten\n"
			   +"                 Sprachausgaben : Sprachunterstuetzung ein-\n"
                           +"                                  bzw. ausschalten\n"
			   +"                 (Noch nicht implementiert !!!!)\n"
			   +"                 Starte Demo : Demonstrationsmodus waehlen\n\n"
			   +"Menue Hilfe    : About : Ueber diese Simulation\n"
			   +"                 Hilfe : Dieses Fenster\n\n"
			   +"Schalter neuer Rechner    : Rechner einfuegen\n\n"
			   +"Schalter entferne Rechner : gewaehlten Rechner entfernen\n\n"
			   +"Schalter Rechner Info     : Leitwegtabelle des gewaehlten\n"
			   +"                            Rechners anzeigen\n\n"
			   +"Schalter neue Verbindung  : die zwei gewaehlten Rechner\n"
			   +"                            verbinden\n\n"
			   +"Schalter entf. Verbindung : gewaehlte Verbindung entfernen\n\n"
                           +"Schalter Senden starten   : Datenpakete zwischen den beiden\n"
                           +"                            gewaehlten Rechnern verschicken\n\n"
			   +"Schalter Senden stoppen   : gewaehlten Sender deaktivieren\n\n"
                           +"Schalter Weiter           : Simulation fortsetzen\n\n"
			   +"Schalter Halt             : Simulation anhalten\n\n");

    demoGreetings = 
      new String( "Willkommen zur Demonstration des RIP-Routing Algorithmus.\n\n"
		 +"Diese Demonstration erklaert die Funktionsweise des\n"
		 +"Internet Routing Protocol ( RIP ) v2 \n\n"
                 +"RIP gehoert zu den Distance Vector Routing Protokollen!\n\n" 
		 + "Zu jedem Zeitpunkt kann frei interagiert und damit\n"
		 + "das Verhalten der Simulation beeinflusst werden\n\n"
		 + "Bitte durch anklicken von 'Okay' die Demonstration starten.\n" );
     demoPart1 =
      new String(   "Halten wir hier einmal kurz an.  Sie haben gerade gesehen wie\n"
		  + "die zwei Router \"Rechner 0\" und \"Rechner 1\" ueber\n"
		  + "\"Verbindung 0\" miteinander verbunden wurden.  In dem Moment,\n"
		  + "wenn ein Rechner an eine Verbindung angeschlossen wird, infor-\n"
		  + "miert er den jeweilig anderen Rechner ueber seine Existenz.\n"
		  + "Das war das erste (blaue) \"Routing Table Update\" Paket, das\n"
		  + "von jedem Rechner aus ueber die Verbindung gesendet wurde.\n"
		  + "Danach sendet jeder Rechner ein (magenta-farbenes) \"Routing\n"
		  + "Table Request\" Paket, mit dem er den anderen benachrichtigt,\n"
		  + "dass er ueber bestehende Netzwerkverbindungen informiert werden\n"
		  + "moechte.  In dem Moment, wenn ein Rechner ueber eine bessere\n"
		  + "Route zu einem bestimmten anderen Rechner informiert wird,\n"
		  + "aendert er entsprechend die Eintraege in seiner Leitwegtabelle\n"
		  + "und informiert seine Nachbarn darueber mithilfe eines (blauen)\n"
		  + "\"Routing Table Update\" Pakets (in dem bis jetzt gezeigten\n"
		  + "Fall gab es nur einen Nachbarn).\n" 
		  + "Beachten sie, dass die Rechner beim Versenden von (blauen)\n"
		  + "\"Routing Table Update\" Paketen die \"Poison Reverse\"\n"
		  + "Methode einsetzen.  Diese funktioniert so, dass fuer alle Ein-\n"
		  + "traege in der Leitwegtabelle, bei denen die kuerzeste Route ueber\n"
		  + "genau die Verbindung fuehrt, ueber die das \"Routing Table Up-\n"
		  + "date Paket versendet wird, eine Entfernung von \"unendlich\"\n"
		  + "hinzuaddiert.  Diese Methode wird eingesetzt, um das Problem\n"
		  + "des \"counting-to-infinity\" zu umgehen.\n\n"
		  + "Nach druecken der \"Okay\"-Taste geht es weiter mit der Demo.\n"
		  + "Die Leitwegtabellen (Routing Tables) der einzelnen Rechner\n"
		  + "erhalten Sie ueber die Taste \"Rechner Info\".\n" );
    demoPart2 =
      new String(   "Es wurden nun noch \"Rechner 2 \", \"Rechner 3 \" und \n"
                  + "\"Rechner 4\" ins Netzwerk eingefuegt und verbunden.\n\n"
                  + "Danach war zu sehen, wie \"Rechner 0\" Datenpakete an \"Rechner 3\"\n"
                  + "schickt und wie diese im Netzwerk gerouted werden.\n\n"      
                  + "Betrachten Sie nun, wie sich die Eintraege in der Leitwegtabelle\n"
                  + "von \"Rechner 2\" aendern, wenn ein weiterer Rechner angeschlossen\n"
                  + "wird.\nNach einer kurzen Pause wird dann noch eine weitere\n"
		  + "Verbindung angeschlossen.\n\n"
		  + "Nach dem Druecken der \"Okay\"-Taste geht es weiter mit der Demo.\n" );
    demoPart3 =
      new String(   "Nun wird \"Rechner 0\" beginnen Datenpakete zu \"Rechner 5\" zu\n"
		  + "versenden.\n"
		  + "Sie werden sehen, wie die Pakete nur auf den jeweils\n"
		  + "kuerzesten Pfaden weitergeleitet werden.\n\n" 
		  + "Nach Druecken der \"Okay\"-Taste geht es weiter mit der Demo.\n" );
    demoPart4 =
      new String(   "Als naechstes wird direkte die Verbindung zwischen \"Rechner 2\"\n"
		  + "und \"Rechner 5\" getrennt, um den Fall des Broken Links zu\n"
		  + "simulieren. Das Netzwerk \"lernt\" nun die aktuelle Netzstruktur ueber\n"
                  + "\"Routing Table Updates\" und passt das Weiterleiten der Datenpakete\n"
		  + "entsprechend an.\n"
                  + "Dies werden Sie anhand der Leitwegtablle von \"Rechner 0\" beobachten\n"
                  + "koennen.\n\n"
		  + "Nach Druecken der \"Okay\"-Taste geht es weiter mit der Demo.\n" );
    demoPart5 =
      new String(   "Nun wird \"Rechner 0\" beginnen Datenpakete zu \"Rechner 5\" zu\n"
		  + "versenden.\n"
		  + "Sie werden sehen, wie die Pakete nur auf den jeweils\n"
		  + "kuerzesten Pfaden weitergeleitet werden.\n\n" 
		  + "Nach Druecken der \"Okay\"-Taste geht es weiter mit der Demo.\n" );
    demoPart6 =
      new String(   "Wenn nun die Stoerung der Verbindung zwischen \"Rechner 2\"\n"
                  + "und \"Rechner 5\" beseitigt wird, dann passt sich das Netzwerk\n"
                  + "sofort wieder an.\n\n" 
		  + "Nach Druecken der \"Okay\"-Taste geht es weiter mit der Demo.\n" );
    demoEnd =
      new String(   "Die Demonstration des RIP v2 ist nun beendet.  Sie koennen\n"
		  + "jedoch weiterhin das Netz erweitern, umstrukturieren, in-\n"
		  + "spizieren, etc.\n\n" 
		  + "Bitte die \"Okay\"-Taste druecken.\n" );

  } // TextMethodsDeutschRIP.TextMethodsDeutschRIP
} // TextMethodsDeutschRIP






